1. Field of the Invention
The present invention is related to a camera which shifts an image blur suppression lens to compensate for vibrations affecting the camera, thereby suppressing image blur. More particularly, the present invention relates to a timer and the storage of the timer count values for the computation of the displacement velocity of the image blur suppression lens.
2. Description of the Related Art
Image blur suppression devices suppress, or reduce, blurring of an image projected onto an image plane by an optical system. Motion is typically imparted to the optical system by vibrations affecting the optical system or in a surrounding holding member. In general, conventional image blur suppression devices cause an image blur suppression lens to shift counter to the motion of the optical system so as to shift the image projected by the optical system relative to the optical system.
Conventional cameras use an image blur suppression device to suppress image blur on film resulting from vibrations, such as hand vibrations, affecting the camera. These cameras typically use an angular velocity sensor to detect vibrations by sensing the angular velocity of the camera. Then, an image blur suppression lens is shifted in a direction perpendicular to the optical axis of the photographic optical system, thereby compensating for the detected vibration. For example, see Japanese Patent Publication Number Hei 4-263056.
More specifically, in conventional cameras, an image blur suppression lens is driven by an actuator. The actuator is typically a motor. A vibration detection unit, including an angular velocity sensor, detects the angular velocity of the camera and produces signals proportional to the detected angular velocity. A single chip microcomputer receives the signals produced by the vibration detection unit and effectively cancels the detected vibrations by controlling the motor to shift the image blur suppression lens in accordance with the vibrations detected by the vibration detection unit. When a motor is used as an actuator, the image blur suppression lens is driven by reducing the velocity of the motor rotation with gears, and converting the rotational movement of the gears into linear motion. The microcomputer uses feedback from the actual detected velocity of the image blur suppression lens to shift the image blur suppression lens at a suitable velocity. The image blur suppression lens is shifted at a velocity which is computed in a conventional manner.
FIG. 1 is a block diagram of a conventional camera which suppresses image blur by compensating for vibrations affecting the camera. More particularly, FIG. 1 relates to a camera which uses silver salt film (not illustrated). A conventional vibration detection unit 5 detects vibrations affecting the camera by using an angular velocity sensor (not illustrated) to detect angular velocity, and produces signals indicating the amount of detected angular velocity. The angular velocity detected by vibration detection unit 5 changes in accordance with the angular velocity of the camera produced by hand vibration. The signals produced by vibration detection unit 5 are received by a central processing unit (CPU) 1. Since the output of vibration detection unit 5 is typically an analog signal, CPU 1 uses an internally incorporated analog-to-digital (A/D) converter (not illustrated) to convert this analog signal into a digital signal.
CPU 1 detects the position and velocity of a conventional image blur suppression lens 8 using a phase A signal and a phase B signal produced by a conventional detection interrupter 3. Therefore, detection interrupter 3 can be referred to as a "position detection device" which detects the position of the image blur suppression lens and produces a position detection signal indicating the position of the image blur suppression lens. CPU 1 compensates for detected vibration by controlling a conventional motor drive unit 2 in accordance with the signals produced by vibration detection unit 5. Motor drive unit 2 then drives a conventional motor (M) 4 to shift image blur suppression lens 8. Moreover, CPU I uses the detected velocity of image blur suppression lens 8 as feedback to control image blur suppression lens 8 so that image blur on the photographic image plane caused by vibration is effectively cancelled. Therefore, CPU 1 can be referred to as a "control device" which determines the velocity of the image blur suppression lens and controls the image blur suppression lens in accordance with the velocity. Image blur suppression lens 8 is shifted to compensate for vibrations affecting the camera, thereby suppressing image blur. Image blur suppression lens 8 can also be referred to as a "vibration compensation lens" or "compensation lens", and hereinafter will be referred to as "compensation lens 8".
To effectively compensate for vibrations, compensation lens 8 must be shiftable in two different axes which intersect, are perpendicular to each other, and are perpendicular to the optical axis of the camera, although only one axis 100 is illustrated in FIG. 1. Therefore, compensation lens 8 can be described as a "movable member" which is movable to compensate for vibrations affecting the camera.
Since vibration detection must be executed in real time, the output of vibration detection unit 5 is subjected to A/D conversion by CPU 1 at a relatively short sampling interval, for example, a 1 ms interval, and compensation lens 8 is shifted in accordance with the vibration detected during this interval. Compensation lens 8 is driven by gears (not illustrated) to convert the rotation of motor 4 into linear motion. A transmittance encoder is typically used to detect the position and velocity of compensation lens 8 by interacting with the gears. More specifically, a circular plate (not illustrated) has several holes opened therein and is attached to a gear (not illustrated) that converts the rotation of motor 4 into linear motion. Detection interrupter 3 includes two pairs of interrupters (not illustrated) arranged on the circular plate in positions to detect the holes in the circular plate. Moreover, the two pairs of interrupters are arranged so that the detection output of the respective pairs has a phase differential of 90.degree..
FIG. 2 illustrates an example of a two-phase output of interrupter 3 for detecting the position of compensation lens 8. A "phase A" signal and a "phase B" signal are produced by interrupter 3 via the rotation of motor 4, are respectively produced by two pairs of interrupters (not illustrated). The phase A signal and the phase B signal have differing phases of 90.degree.. The absolute value of the velocity of the movement of compensation lens 8 can be calculated from the frequency of the output from either the phase A signal or the phase B signal. Moreover, the direction of movement of compensation lens 8 (the sign for the velocity of compensation lens 8) is detected in accordance with the signal level of one signal at a change in the other signal. For example, the direction of movement of compensation lens 8 can be detected by determining whether one phase signal is at a high level or a low level when the other phase signal is at a rising edge or a falling edge. Also, the position of compensation lens 8 is detected by this direction of movement and by counting up or counting down from an edge of either signal.
The detection of the position, velocity and direction of movement of compensation lens 8 is executed by CPU I based on the output of the phase A signal and the phase B signal produced by detection interrupter 3, and can be understood by referring to FIG. 2. As illustrated by FIG. 2, CPU 1 detects a first drop in the phase A signal at time t1, and the phase of the phase B signal is read at time t1. In the example illustrated in FIG. 2, the phase B signal is low at time t1. Therefore, the value of the compensation lens position is counted as "1". Next, a drop of the phase A signal is detected at time t2, and the phase of the phase B signal is read at time t2. In the example illustrated in FIG. 2, the phase B signal is low at time t2. Therefore, the value of the compensation lens position is again counted as "1". An additional drop of the phase A signal is detected at time t3. In the example illustrated in FIG. 2, the phase B signal is high at time t3. Therefore, the value of the compensation lens position is counted at "-1". The position of compensation lens 8 is detected in real time by repeating this procedure.
Next, the time T1 from the time t1 of the drop of the phase A signal until the next drop of the phase A signal at time t2 is calculated using a timer. The absolute value of compensation lens velocity VR is computed by taking the inverse number of T1. The compensation lens velocity VR sign is taken to be "plus" if the phase B signal is low at time t2, and is taken to be "minus" if the phase B signal is high at time t2. This is expressed in the following Equations 1 and 2. The compensation lens velocity VR is detected in real time by repeating this procedure after time t2.
Equation 1 EQU VR=a.times.K.times.(1/(the time of one cycle of the phase A signal))
Equation 2 ##EQU1##
In Equation 2, the variable "a" indicates the sign of the velocity of compensation lens 8, and K is a coefficient for adjusting the units with the target velocity VC of compensation lens 8.
FIG. 3 is a block diagram illustrating a conventional camera having a vibration control function. As illustrated by FIG. 3, a conventional edge detection circuit 11 detects a drop edge of the phase A signal, and generates an interrupt signal at the time when a drop edge is detected. A conventional timer 12 is connected to CPU 1 and receives a specified clock signal .phi. for calculating one cycle of the phase A signal. The timer value of timer 12 is counted up as time progresses. CPU 1 begins phase A signal drop interrupt processing when edge detection circuit 11 generates an interrupt signal.
FIG. 4 is a flow chart illustrating a conventional phase signal drop interrupt processing of a camera. More specifically, FIG. 4 illustrates a conventional phase A signal drop interrupt processing sequence of CPU 1 to detect the velocity of compensation lens 8. The phase A signal drop interrupt processing of FIG. 4 begins in step S500 when edge detection circuit 11 detects a drop of the phase A signal. Then, in step S501, it is determined whether or not the phase B signal is high. If the phase B signal is high in step S501, the process moves to step S502 where the velocity of compensation lens 8 is taken to be negative with variable "a" equal to "-1". If the phase B signal is low in step S501, the process moves to step S503 where the velocity of compensation lens 8 is taken to be positive with variable "a" equal to "+1". From steps S502 and S503, the process moves to step S504. In step S504, the value "t" represents the value of timer 12 that was set during the previous phase A signal drop interrupt processing, and "t" is entered as the variable "t'". Therefore, by entering "t" as the variable "t'", a "read-in" value of the timer value is updated. Then, in step S505, the value in timer 12 is read by taking the current value of timer 12 to be "t". Next, in step S506, the time T of one cycle of the phase A signal is calculated by subtracting t' from t. From step S506, the process moves to step S507 where the compensation lens velocity VR is computed in a conventional manner by multiplying coefficient "K" and variable "a" (the sign of the velocity of the compensation lens that was calculated in steps S502 and S503), by the inverse of T. Specifically, the compensation lens velocity VR is computed by Equation 1, above. From step S507, the process moves to step S508 where the phase A signal drop interrupt processing ends.
The above computations will be further explained by referring again to FIG. 2. Assumed that a phase A signal drop is detected at time t2. Therefore, in step S504 of FIG. 4, the previous timer value of timer 12 that was set at the time of the previous phase A signal drop interrupt processing (equivalent to the value of timer 12 at time t1 in FIG. 2) equals "t", and "t" is entered as variable t'. Then, in step S505 of FIG. 4, the current timer value of timer 12 (equivalent to the value of timer 12 at time t2 in FIG. 2) is entered as variable t. Then, in step S506 of FIG. 4, the time T is derived by subtracting t' from t. T is equivalent to T1 in FIG. 2. The velocity of compensation lens 8 is derived by the calculations performed in step S507 of FIG. 4. Here, K is the coefficient for the purpose of bringing the units in line with the standard velocity VC of the compensation lens. Moreover, variable "a" is the sign of the velocity of compensation lens 8 derived by the processing at S502 and S503 (see FIG. 4), and velocity VR of compensation lens 8, including everything but the sign, is calculated by multiplying variable "a" by the absolute value of the velocity of compensation lens 8 that was derived in step S507 in FIG. 4. The velocity of compensation lens 8 is continually detected in real time by repeating the phase A signal drop interrupt processing, explained above, each time a phase A signal drop is detected.
FIG. 5 is a flow chart illustrating a processing sequence of vibration compensation control timer interrupt processing performed by CPU 1 to control vibration compensation. The timer interrupt processing illustrated in FIG. 5 is repeatedly executed at intervals of, for example, 1 ms, by CPU 1. The process begins in step S600. From step S600, the process moves to step S601 where the output of vibration detection unit 5 is subjected to analog-to-digital (A/D) conversion using an A/D converter (not illustrated) incorporated into CPU 1, and the angular velocity produced in the camera is detected. The output of the vibration detection unit 5 is not limited to the dimensions of angular velocity, but in order to simplify the following explanation, the following discussion will continue to assume that vibration detection unit 5 detects angular velocity. Next, in step S602, the target velocity VC of compensation lens 8 is computed from the angular velocity detected at S601 utilizing, for example, the following Equation 3.
Equation 3 EQU VC=K0.times.(detected angular velocity)
K0 is a coefficient. If compensation lens 8 shifts at some velocity in relation to the detected angular velocity, it is determined whether vibration compensation can be suitably executed to meet the characteristics of the photographic optical system. Next, in step S603, the amount of drive of drive motor 4 is calculated using the target velocity VC of compensation lens 8 calculated at S602 and velocity VR of compensation lens 8 calculated in step S507 of the phase A signal drop interrupt processing of FIG. 4. From step S603, the process moves to step S604 where motor 4 is driven by the calculated drive amount via motor drive unit 2. From step S604, the process moves to step S605 where the vibration compensation control timer interrupt processing ends. The vibration compensation control timer interrupt processing of FIG. 5 is repeatedly executed at a specified interval, and compensation lens 8 is controlled to be at the target velocity VC with relatively good precision and in real time, based on the computations in step S603 of FIG. 5.
However, there are problems with conventional cameras which operate in accordance with phase A signal drop interrupt processing as in FIG. 4 and vibration compensation control timer interrupt processing as in FIG. 5. Ideally, the detection of velocity VR of compensation lens 8 is first conducted as described in FIGS. 4 and 5. Unfortunately, there is limited time from when edge detection circuit 11 detects a drop of the phase A signal until the value of timer 12 is read in at S505 by the phase A signal drop interrupt processing of FIG. 4. Also, vibration compensation control may be executed during vibration compensation control timer interrupt processing and the drop of the phase A signal may be entered during the execution of the vibration compensation control timer interrupt processing. As a result, the activation of the phase A signal drop interrupt processing may be temporarily delayed, and the phase A signal drop interrupt processing may be executed after the vibration compensation control timer interrupt processing has been completed.
As a result, the time of one cycle from the phase A signal drop detected by phase A signal drop interrupt processing has an element that fluctuates. Therefore, as illustrated by FIG. 2, even though the phase A signal drop is entered at time t1, the value of timer 12 actually read in at step S505 in FIG. 4 is time t1'. The next phase A signal drop is entered, and the value of timer 12 actually read in is time t2'. One cycle of phase A signals calculated based on the times at step S506 is computed as T1', thereby producing an error in relation to the actual time T1.
Error is produced in the velocity of compensation lens 8 detected by the above-described conventional method and, therefore, the precision of vibration control is poor. Thus, it may also be impossible to accurately detect compensation lens velocity VR when the camera shutter control during exposure is simultaneously executed by CPU 1. Furthermore, accurate detection of compensation lens velocity VR may be impossible when shutter control is executed using timer interrupts which are activated at specific intervals in the same way as the vibration compensation control timer interrupt processing.
In addition, photographic devices having this type of conventional vibration compensation raise the resolution for the detection of the position of compensation lens 8 in order to improve the performance of vibration control. To enhance the resolution requires an increase in the number of holes in the circular plate used in interrupter detection. By doing this, the method increases the number of phase A signal and phase B signal pulses per unit of shift distance of compensation lens 8. If this is done, the phase A signal drop interrupt processing of FIG. 4 for the purpose of deriving the velocity of compensation lens 8 is frequently executed and, in the worst case, the processing capacity of CPU I may be exceeded and processing becomes impossible. Because the vibration compensation control timer interrupt processing of FIG. 5 for the purpose of correcting and controlling vibration must also be conducted simultaneously, it is necessary to have an extremely high performance one-chip microcomputer to execute the entire processing. This dramatically increases the cost of the camera.